1. Field
The present disclosure relates to look-up-table (LUT) technology as used in color characterization and color imaging. More specifically, the present disclosure relates to populating values for unpopulated nodes of cells within a LUT, wherein the populated values model an underlying process that transforms from a first color space to a second color space.
2. Description of the Related Art
LUTs are widely used in the fields of color characterization and color imaging. For example, modeling of a device, such as a printer, to allow transformation between device values and device independent colors (such as XYZ or spectral reflectance), generally involves a computationally intensive transform that is usually non-linear and that often must be inverted. In this example, a LUT approach is often used to perform such a transformation. In a second example, a transformation may be used in a composited end-to-end transform. In particular, the end-to-end transform involves a transform from a source device to a device independent color space, a gamut map from the gamut of source device to the gamut of a destination device in the device independent color space, and a transform from the device independent color space to the destination device. In order to perform such multiple transformations, a LUT approach is commonly used to model a composite of the end-to-end transform, to save computational time during use.
The LUT approach involves a two-step process: population of the LUT with suitable values that model the underlying process, and subsequent use of the LUT such as by interpolation so as to transform from a first color space to a second color space. In the populating step, the LUT approach involves sampling the underlying process, where sampling may involve either direct measurement such as calorimetric or spectral measurements of color patches printed by a printer being color characterized, or executing the composited end-to-end transform with selected inputs, such as running a program on a computer.
However, in practice, not every node of the LUT may be measurable, due to existence of a constraint boundary on the underlying process. Sources of the constraint boundary are as varied as the nature of the underlying process being modeled. For example, in modeling a multi-ink printer, a rectangular domain that is the unit cube in a multi-dimensional space represents all possible ink combinations. However, not all ink combinations are printable because the paper generally cannot support ink density beyond a certain limit.
Similarly, when modeling an end-to-end transform, color gamut such as the set of targeted colors or spectrum locus of the human visual system often poses a constraint boundary on the domain of definition of the transform. When a node in the LUT corresponds to a point at which the underlying process is either undefined, or otherwise unmeasurable, it is not possible to populate the node with a value simply by sampling. In other words, the unmeasurable node would be missing in the LUT since it is outside the constraint boundary.
A missing node in the LUT creates problems because most interpolation algorithms require that all nodes be populated. One common solution to this problem is to populate the nodes of the LUT that can be sampled, and populate the nodes that cannot be sampled with a pre-determined value or flag identifying that the value is invalid. Then, when using the LUT in a transformation, a run-time check is performed to determine which nodes are populated with valid values. After performing the run-time check, use of the LUT is restricted to only those cells whose corner nodes are populated with valid values.
Such checking increases computational time to use the LUT. Moreover, it can introduce inaccuracies. As one example of inaccuracies, many points which fall inside the constraint boundary but within a cell with a corner node outside the constraint boundary would not be modeled by the LUT. Depending on the granularity of the LUT sampling, the missing regions within the LUT model may include important colors, and omitting them may diminish the quality of a color transformation.